#include "GatherDataHandlerMemory.h"
#include "stdio.h"

u8 times=0;
extern int heartState;
TargetGatherData targetData;

u8  clearData(const GatherData *source)
{
    if(source->temp>200){ 
        times++;
        if(times>10)
        {
            heartState=0;return 0;
        }
        return 1; 
    }
    else{ 
        heartState=1;times=0;return 0; 
        }


}
void dataHandler(GatherData *source)
{   //非空判断
    if(source==NULL)
    {
        printf("gather task error \r\n");
    }
    // 数据清洗
    u8 res=clearData(source);
    if(res) return;
    // 如果心跳状态不正常，不需要向下执行
    if(heartState==1)return;
    // 对数据加工处理
    processData(source);
   
    
}
void processData(const GatherData *source)
{
    targetData.humi=source->humi;
    targetData.temp=source->temp;
    targetData.smoke=source->smoke/40;
    targetData.sunshine=100-(source->smoke/40);
    targetData.raidrop=source->raidrop;

}